package model.guanchazhe.demo1;

/**
 * 混凝土observerb
 * 具体观察者（ConcreteObserver）角色
 *
 * @author 乔巴
 * @date 2021/05/12
 */
public class ConcreteObserverB implements Observer{

    /**
     * 主题
     */
    private ConcreteSubject subject;

    /**
     * 得到主题
     *
     * @return {@link ConcreteSubject}
     */
    public ConcreteSubject getSubject() {
        return subject;
    }

    /**
     * 设置主题
     *
     * @param subject 主题
     */
    public void setSubject(ConcreteSubject subject) {
        this.subject = subject;
    }

    /**
     * 更新
     *
     * @param subject 主题
     */
    public void update(Subject subject) {
        this.subject=(ConcreteSubject)subject;
        System.out.println("观察者B中被观察对象的状态更新为："+this.subject.getState());

    }
}
